﻿namespace PrimeNum
{
    /// <summary>
    /// 寻找100000以内最大质数
    /// </summary>
    internal class Program
    {
        //定义最大值，用long类型
        const long upValue = 1000000;
        static void Main(string[] args)
        {
            //首先定义判定用的布尔变量
            bool isFlag = true;
            //定义程序开始的时间
            DateTime dt1 = DateTime.Now;
            //对所要求的值从大到小进行遍历
            for (long i = upValue; i > 3; i--)
            {
                for (int j = 2; j <= Math.Pow(i, 0.5); j++)
                {
                    if(i%j== 0)
                    {
                        isFlag = false;
                        //要是非质数就直接跳出，进行下一个数的判定
                        break;
                    }
                }
                if(isFlag)
                {
                    //遇到最大质数就直接输出
                    Console.WriteLine($"{upValue}以内最大质数为：{i}");
                    break;
                }
                isFlag = true;
            }
            //程序结束时的时间
            DateTime dt2 = DateTime.Now;
            //两个时间之差
            TimeSpan ts = dt2 - dt1;
            //输出运行时间
            Console.WriteLine($"程序运行时间为：{ts.TotalMilliseconds}毫秒");
        }
    }
}